// 菜单配置窗口关闭标志
var closeFlag = false;
var mDataId = '';
var mDataIds = '';
var mProductCodes = '';
var mUserId='';
// 初始化菜单授权窗口
function showUserAuth() {
	$('#authorizationDataDiv').dialog({
		title : '数据授权',
		modal: true,         	//模式窗口：窗口背景不可操作
		collapsible : false,  	//可折叠，点击窗口右上角折叠图标将内容折叠起来
		resizable : true,    	//可拖动边框大小
		width: 960,
		onClose: function(){
		},  //继承自panel的关闭事件
		onOpen: function(){
			$('#userData').datagrid({
				url : './data/findUamsDatas.do',
				dataType: 'json',
				frozenColumns:
					[[
			      	  	{field:'ck',checkbox:'true'}
			        ]],
				columns:
					[[ 
						{field:'dataName',title:'数据名称',width:250,align:'center'}, 
						//{field:'systemName',title:'系统名称',width:100,align:'center'},
						//{field:'systemCode',title:'系统编码',width:100,align:'center'},
						{field:'dataType',title:'数据类型',width:250,align:'center'}, 
						{field:'field',title:'Field',width:250,align:'center'}, 
						{field:'option',title:'Option',width:250,align:'center'} 
					  ]]
			});
		},
//		onClose: function(){
//			refreshData();
//		}
	});
}

//查询
function queryData() {
	var dataName = $("#search_dataName").textbox('getValue');
	var dataType = $("#search_dataType").textbox('getValue');
	var field = $("#search_field").textbox('getValue');
	var option = $("#search_option").textbox('getValue');
	
	var params = {
		dataName: dataName,
		dataType: dataType,
		field: field,
		option: option
	};
	$('#userData').datagrid('load',params);
	$("#userData").datagrid("unselectAll");
}

//刷新查询
function refreshData() {
	//TODO 清空参数，刷新列表数据
	$("#search_dataName").textbox('setValue', '');
	$("#search_dataType").textbox('setValue', '');
	$("#search_field").textbox('setValue', '');
	$("#search_option").textbox('setValue', '');
	
	$('#dataGridTable').datagrid('reload',{}); 
}

/**--------------操作弹出框------------------**/
// 关闭授权数据窗口
function closeAuthorization() {
	$('#authorizationDataDiv').dialog('close');
}
//当前选中的用户信息
var mUserData;
// 打开授权管理窗口
function openDataAuthorization() {
	mUserData = $('#dataGridTable').datagrid('getSelected');
	if (mUserData) {
		// 首先如果选择了数据，则获取选择的数据集合
		showUserAuth();
	} else {
		noSelectData();
	}
}

//========================================================
//获取当前选中用户的数据
function selectedDataCodes() {
	if(mUserData && mUserData.userId) {
		$.ajax({
			method: 'GET',
//			url: './data/queryUserDataByUserId.do?userId='+mUserData.userId,// 请求的路径
			url: './data/findUamsDatas.do',// 请求的路径
			error: function(msg) {// 请求失败处理函数
				closeMask('authorizationDataDiv');
			},
			success: function(data) {
				closeMask('authorizationDataDiv');
				if (data && data.code == 200) {
					if(data.rows) {
						var selectedDataIds = [];
						data.rows.map((item) => {
							var dataCode = item.dataId;
							if(selectedDataIds.indexOf(dataId) === -1) {
								selectedDataIds.push(dataId);
							}
						});
						if(selectedDataIds && selectedDataIds.length > 0) {
							var rows = $('#dataGridTable').datagrid('getRows');
							if(rows && rows.length > 0) {
								for(var i=0; i<rows.length; i++){
									var mDataId = rows[i].dataId;
									if(selectedDataIds.indexOf(mDataId) !== -1) {
										$('#dataGridTable').datagrid('selectRow', i);
									}
								}
							}
						}
					} 
				}
			}
		});
	} else {
		closeMask('authorizationDataDiv');
	}
}

var mTranDataId;

// 保存授权菜单
function saveUserDataMenu() {
	mDataIds = '';
	var rowsData = $('#userData').datagrid('getSelections');
//	for(var i=0; i<rows.length; i++){
//		var productCode = rows[i].productCode;
//		mProductCodes += "," + productCode
//	}
//	mProductCodes = mProductCodes.substring(1);
//	if(mProductCodes.length == 0) {
//		sysMsgShow('请选择待保存授权产品!');
//		return;
//	}
	if(mTranDataId) {
		mDataIds = mTranDataId;
	}else {
		for(var i=0; i<rowsData.length; i++){
			var dataId = rowsData[i].dataId;
			mDataIds += "," + dataId
		}
		mDataIds = mDataIds.substring(1);
	}
	$.messager.confirm("保存授权", "是否保存当前授权？", function(r) {
		if (r) {
			openMask('authorizationDiv');
			$.ajax({
				method: 'POST',
				url: './user/saveUamsUserAndData.do',// 请求的action路径
				dataType:'json',
				data: {
					'dataIds': mDataIds,
					'userId': mUserData.userId
				},
				error: function(msg) {// 请求失败处理函数
					closeMask('authorizationDiv');
					sysErrorShow(msg);
				},
				success: function(data) {
					closeMask('authorizationDiv');
					if (data.success == false) {
						sysErrorShow("授权失败!");
						$('#userData').datagrid("reload");
						$("#userData").datagrid('checkRow', 0);
					} else {
						sysMsgShow('授权成功!');
						$('#userData').datagrid("reload");
						$("#userData").datagrid('checkRow', 0);
						refreshData();
					}
				}
			});
		}
	});
}

// 取消数据授权
function delUserDataMenu() {
  var selectedDataIds = [];
  if(mUserData && mUserData.userId) {
    $.ajax({
      method: 'GET',
      url: 'sys/showCusProByUserId.action?userId='+mUserData.userId+'&dataIds='+mDataIds,// 请求的action路径
      success: function(data) {
        if (data && data.code == 200) {
          if(data.rows) {
            data.rows.map((item) => {
              var dataId = item.dataId;
              if(selectedDataIds.indexOf(dataId) === -1) {
                selectedDataIds.push(dataId);
              }
            });
          }
        }
        _delUserDataMenu(selectedDataIds);
      }
    });
  }else{
     _delUserDataMenu(selectedDataIds);
  }
}

function _delUserDataMenu(selectedDataIds){
	mDataIds = '';
	var rowsData = $('#userData').datagrid('getSelections');
//	for(var i=0; i<rows.length; i++){
//		var productCode = rows[i].productCode;
//		mProductCodes += "," + productCode
//	}
//	mProductCodes = mProductCodes.substring(1);
//	if(mProductCodes.length == 0) {
//		sysMsgShow('请选择待保存授权产品!');
//		return;
//	}
	if(mTranDataId) {
		mDataIds = mTranDataId;
	}else {
		for(var i=0; i<rowsData.length; i++){
			var dataId = rowsData[i].userId;
			mDataIds += "," + dataId
		}
		mDataIds = mDataIds.substring(1);
	}
	$.messager.confirm("取消授权", "是否取消当前授权？", function(r) {
		if (r) {
			openMask('authorizationDiv');
			$.ajax({
				method: 'POST',
				url: './user/saveUamsUserAndData.do',// 请求的action路径
				dataType:'json',
				data: {
					'dataIds': mDataIds,
					'userId': mUserData.userId
				},
				error: function(msg) {// 请求失败处理函数
					closeMask('authorizationDiv');
					sysErrorShow(msg);
				},
				success: function(data) {
					closeMask('authorizationDiv');
					if (data.success == false) {
						sysErrorShow("取消授权失败!");
						$('#userData').datagrid("reload");
						$("#userData").datagrid('checkRow', 0);
					} else {
						sysMsgShow('取消授权成功!');
						$('#userData').datagrid("reload");
						$("#userData").datagrid('checkRow', 0);
						refreshData();
					}
				}
			});
		}
	});
}

